<?php
/*
 * author: fabricio s costa
 * version: 1.0
 * site: http://fabriciojf.com
 */
require_once('com/fabriciojf/action/Action.class.php');
require_once('com/fabriciojf/security/Permission.class.php');
require_once('com/fabriciojf/include/Mail.class.php');
require_once('com/fabriciojf/persistence/DaoGenerico.class.php');
require_once('com/fabriciojf/persistence/HistoricoDAO.class.php');

class HistSaveAction implements Action {
    public function execute() {
        Permission::requireInRole(array('admin','usuario'));

        $idTicket = $_POST['idTicket'];
        $historicoDao = new HistoricoDAO();
        $mensagem = $_POST['mensagem'];
        
        if ($mensagem) {
            $historico = new Historico();
            $historico->setTicket(Dao::findForId($idTicket, 'Ticket'));
            $historico->setDataHora(date('Y-m-d H:i:s'));
            $historico->setMensagem($mensagem);
            $historico->setUsuario(Dao::findForId($_SESSION['idUsuarioLogado'], 'Usuario'));
            Dao::save($historico, 'Historico');
            
            if (Permission::isInRole(array('admin'))) {
                $statusTicket = Dao::findForId(2,'StatusTicket');
            } else if (Permission::isInRole(array('usuario'))) {
                $statusTicket = Dao::findForId(1,'StatusTicket');
            }
            
            $ticketDao = new TicketDAO();
            $ticketDao->updateStatus($idTicket, $statusTicket->getId());

            $remetente = 'administracao@jumbocms.com';
            $destinatario = 'fabriciojf@gmail.com';
            $assunto = 'Nova Mensagem Aguardando Resposta no JumboCms';
            $conteudo = 'Nova mensagem adicionada ao ticket '.$idTicket . '<br />';
            $conteudo .= 'Para respondê-la acesse http://fabriciojf.com';
            Mail::enviar($remetente, $destinatario, $assunto, $conteudo);

        }
        $idTicket = $_POST['idTicket'];
        $_REQUEST['ticket'] = Dao::findForId($idTicket, 'Ticket');
        $_REQUEST['historico'] = $historicoDao->findForTicket($idTicket);
        require_once('com/fabriciojf/view/TicketAbrir.php');
    }
}
?>
